In communication systems having multiple communication units coupled to a common link, known as a multipoint configuration, there is a need for some form of communications procedure controlling access to the multipoint link. In bandwidth limited systems it is also important to implement methods which, while achieving the necessary communications control, also optimize on the amount of data throughput permitted.
One solution to common link control has been to make one of the communication units a "master" with access control capabilities, and the remaining communication units "slaves." Two common systems implementing this access control solution are roll-call (or broadcast) polling and loop polling. In roll-call polling the assigned master periodically polls each of the slave stations to determine whether there is any information to be communicated. Polling is typically done using a unique address/identifier for each salve station so only that one station will respond, with each slave station being sequentially polled. In loop polling the master only sends one poll request per cycle. When a slave station receives the poll request, it sends any traffic to the master, and then forwards the poll request to the next slave station in the loop. This process is repeated until the last slave station in the loop has received and responded to the poll request.
Both roll-call and loop polling may be implemented as synchronous communications systems. Unfortunately, because of the message length constraints in synchronous transmissions (particularly in bandwidth limited systems) this may lead to the undesirable result of several polling cycles being required to complete just one message from a slave station. Roll-call polling has the further disadvantage of requiring a substantial overhead in the constant polling traffic between the master and each slave station during each cycle. While loop polling reduces some of this overhead by allowing the slave stations to pass on just one poll request, it is undesirable in remote or time-sensitive applications where one faulty slave station could cause a failure of the loop by not passing on the poll request. Likewise, both polling approaches are inconvenient in their requirement that the master be reset each time a slave station is added or dropped from the link.
While asynchronous communications may avoid some of the problems associated with message length constraints, it is typically implemented in some form of a contention procedure. Rather than waiting for a poll request, each unit having traffic to transmit would generate a link access request. However, if multiple units request access at the same time, a collision occurs requiring some form of arbitration or back-down procedure. As can be appreciated, such contention-based systems become increasingly inefficient (i.e., more collisions occur) as more units are added to the link.
Accordingly, there exists a need for a more efficient means of communication control in a system having a common link between multiple units, which increases the data throughput over the link and minimizes the processing of control signaling. There is a particular need for a polling system that allows for an adaptable amount or asynchronous transfer of data so as to minimize the overhead and time required to communicate a message.